iT邦幫忙

open source相關文章
共有 221 則文章
鐵人賽 Software Development DAY 14

技術 Day 14|Physical Plan:從「想怎麼查」到「真的怎麼執行」

上一篇使用 EXPLAIN 觀察了 SQL 的 Logical Plan。 Logical Plan 描述的是: 這段查詢想完成什麼? 今天再往下一層,介紹...

鐵人賽 Software Development DAY 13

技術 Day 13|用 EXPLAIN 偷看 SQL 背後的 Query Plan

上一篇介紹了 Logical Plan,知道 SQL 會被轉換成一棵由 TableScan、Filter、Aggregate 與 Projection 組成的操...

鐵人賽 Software Development DAY 12

技術 Day 12|Logical Plan:SQL 的第一張執行藍圖

Logical Plan 是 SQL 的第一張執行藍圖。 它不會立刻讀取檔案,也不會直接產生查詢結果,而是先把 SQL 拆成一棵由多個 Logical Oper...

鐵人賽 Software Development DAY 11

技術 Day 11|SQL 不只是字串:Query Engine 如何理解 SQL?

先來回答昨天讀者的問題 昨天有讀者問: 規劃和執行兩階段,是先規劃後執行嗎?還是獨立的兩塊? 答案是: 先規劃,後執行。 兩者不是獨立的兩條流程,而是同一...

鐵人賽 Software Development DAY 10

技術 Day 10|從檔案到 RecordBatch:追蹤資料讀取流程

昨天有讀者問: DataFusion 是如何利用 Schema 產生 RecordBatch?DataFusion 和 Schema 的關係到底是什麼? 簡...

鐵人賽 Software Development DAY 9

技術 Day 9|Schema、Array 與 RecordBatch

在 Apache Arrow 中,一張資料表不是一個模糊的「表格物件」,而是由三個核心概念組成: Schema → 定義欄位名稱、資料型別與欄位順序 Arra...

鐵人賽 Software Development DAY 8

技術 Day 8|認識 Apache Arrow:DataFusion 的資料基礎

Apache Arrow 是一套跨語言的欄式記憶體格式。 它不是資料庫,也不是只用來保存資料的檔案格式;它處理的是另一個問題: 資料進入記憶體後,要如何排列,...

鐵人賽 Software Development DAY 7

技術 Day 7|Row-based vs Columnar:為什麼分析系統偏好欄式資料?

先說結論 分析系統偏好欄式資料(Columnar),主要是因為分析查詢常常會: 掃描大量資料。 但只使用其中少數幾個欄位。 進行篩選、分組與聚合,例如 WHE...

鐵人賽 Software Development DAY 6

技術 Day 6|為分析而生的 Parquet

前幾天收到一些讀者回饋,希望文章可以更像教材:先把概念與資料處理流程說清楚,再進入程式實作。 我覺得這個建議很好,謝謝大家給我回饋~ 對資料工程來說,成功把資料...

鐵人賽 Software Development DAY 5

技術 Day 5|JSON 資料也能直接 SQL 查詢

昨天我們將 CSV 註冊成 DataFusion 中的 Table,並使用 SQL 執行欄位選擇與資料篩選。 今天換成另一種常見的資料格式:JSON。 JSON...

鐵人賽 Software Development DAY 3

技術 Day 3|建立第一個 DataFusion 專案:相同結果的 SQL,真的一樣快嗎?

前兩天,我們先從概念上認識了 Query Engine,也知道 DataFusion 是一套使用 Rust 與 Apache Arrow 建立的查詢引擎。 今天...

鐵人賽 Software Development DAY 2

技術 Day 2|為什麼是 Rust × Apache DataFusion?

大家好,我是 Cady,目前就讀資管系,也正在參與 Apache DataFusion 的開源貢獻。 發現 Day 1 忘記介紹自己,來補充一下,免得很像 AI...

鐵人賽 Software Development DAY 1

技術 Day 1|資料工程不只是 ETL:SQL 背後發生了什麼?

前言 提到資料工程,你最先想到的可能是 ETL: 從 API、資料庫或檔案擷取資料 清理缺失值與錯誤格式 轉換欄位型別 將資料寫入 Data Warehous...

My Project FlowPick-網頁媒體下載器與媒體嗅探器瀏覽器擴充功能

專案資訊 專案名稱: FlowPick-網頁媒體下載器與媒體嗅探器瀏覽器擴充功能 專案簡介: FlowPick 是一款免費、注重隱私的瀏覽器擴充功能,專為「網頁...

My Project Codex Skills 越裝越多,真的會更強嗎?我開源了一個 Workflow Skill Router

Codex Skills 越裝越多,怎麼讓它們真的協作?用 Workflow Skill Router 建立自己的 Skill Tree 當 Codex 裡只有...

技術 pg-walstream:用 Rust 打造高效能的 PostgreSQL WAL Streaming

在資料同步、CDC(Change Data Capture)、事件驅動系統中,「如何即時取得 PostgreSQL 的資料變更」是一個非常核心的問題。pg-wa...

鐵人賽 自我挑戰組 DAY 27

技術 Day 27 《Open Source Heart👐:把經驗開源給世界》

My Story|心流創作的起點 我開始在 Medium 與 YouTube 上分享創作的那一刻,其實並不輕鬆。最初只是想記錄旅遊與靈感的瞬間,但當內容一...

鐵人賽 Cloud Native DAY 30

技術 結語:開源困境與挑戰

從 2023 年碩士班畢業後,我就接下了老闆交給我的任務,試著讓 free5GC 能夠變得更加 community-driven,在有限的時間內我也做了很多有趣...

鐵人賽 Software Development DAY 1

技術 EP 01 - GStreamer 介紹

Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~ 在本系列文因為工作上的產品應用需求,進而探索到很多層面的點滴事。透過每篇 EP 的分享把這些點滴整理,...

鐵人賽 Python

技術 Day 31 - Formatter 與 Pre-commit 運用

雖然鐵人賽已經順利完成,但開發的套件還是會持續更新,剛好又有想分享的就有這篇出來,有興趣的還是可以看看。 Formatter Formatter 是在程式開發的...

鐵人賽 Python DAY 30

技術 Day 30 - 總整理以及鐵人賽心得

跌跌撞撞也終於到這次鐵人賽的最後一天了,這次因為是趕在最後一天參賽,每天的主題也只有大概的安排,變成寫什麼就介紹什麼,所以篇幅安排應該會覺得滿跳的,今天就來好好...

鐵人賽 Python DAY 29

技術 Day 29 - 使用 logging 顯示更多訊息給使用者

在昨天有簡單提到了一下 logging 這個工具,今天會再做更深入的介紹,因為當使用者在使用我們的套件的時候,提供好的訊息也可以讓他們更快更容易的操作,我們在開...

鐵人賽 Python DAY 28

技術 Day 28 - 簡單使用 timeit 測試程式執行時間與 requests.Session() 增加效能

昨天我們把另一項功能 minor_statcast_search 也完成了,因為大致上跟我一開始想要的功能都差不多完成了,今天就會來看能不能把這些 functi...

鐵人賽 Python DAY 27

技術 Day 27 - Minor Statcast Search

經過了那麼多天,大致上整個開源套件的基本功能都有了,今天就來讓我們的套件內容更豐富。會多新增專門搜尋投手跟打者的 statcast_pitcher_search...

鐵人賽 Python DAY 26

技術 Day 26 - 撰寫 CONTRIBUTING.md 與設定 Templates

在 Day 24 - 為套件撰寫文件(Markdown & Github Wiki) 有介紹到如何使用 Markdown 的格式來寫文件,然後在昨天的文...

鐵人賽 Python DAY 25

技術 Day 25 - 虛擬環境 venv 與 requirements.txt

今天想來跟大家介紹,另一個在開發 Python 開源套件很重要的項目,那就是使用 虛擬環境 的套件管理,跟他如何在開源幫助到我們。。 虛擬環境 平常我們在開發...

鐵人賽 Python DAY 24

技術 Day 24 - 為套件撰寫文件(Markdown & Github Wiki)

昨天介紹如何為套件寫簡單的測試,今天則是要介紹另外一個在我們開發開源套件時的一個很重要的項目,就是給使用者觀看的文件(Documentation)。文件的主要目...

鐵人賽 Python DAY 23

技術 Day 23 - 為套件用 pytest 寫測試

今天要來介紹如何在 Python 寫單元測試(Unit Test),會使用到 pytest 這個第三方套件,其實 Python 自己也有一個套件 unittte...

鐵人賽 Python DAY 20

技術 Day 20 - Utils Functions

昨天上傳回 Github 後,如果接下來要繼續在本地端開發,會建議先 checkout 回 main,然後再從 origin 把昨天更新的從 Github 拉回...

鐵人賽 Python DAY 19

技術 Day 19 - 創建 Github Pull Request

昨天我們已經把我們的 statcast_search function 的基本型建出來,今天要來大家介紹如何在 Github 上建立一個 Pull Reques...